/*
 * Copyright (c) 2007 David Crawshaw <david@zentus.com>
 *
 * Permission to use, copy, modify, and/or distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */
package org.sqlite.core;

public interface Codes {
    /**
     * Successful result
     */
    public static final int SQLITE_OK = 0;

    /**
     * SQL error or missing database
     */
    public static final int SQLITE_ERROR = 1;

    /**
     * An internal logic error in SQLite
     */
    public static final int SQLITE_INTERNAL = 2;

    /**
     * Access permission denied
     */
    public static final int SQLITE_PERM = 3;

    /**
     * Callback routine requested an abort
     */
    public static final int SQLITE_ABORT = 4;

    /**
     * The database file is locked
     */
    public static final int SQLITE_BUSY = 5;

    /**
     * A table in the database is locked
     */
    public static final int SQLITE_LOCKED = 6;

    /**
     * A malloc() failed
     */
    public static final int SQLITE_NOMEM = 7;

    /**
     * Attempt to write a readonly database
     */
    public static final int SQLITE_READONLY = 8;

    /**
     * Operation terminated by sqlite_interrupt()
     */
    public static final int SQLITE_INTERRUPT = 9;

    /**
     * Some kind of disk I/O error occurred
     */
    public static final int SQLITE_IOERR = 10;

    /**
     * The database disk image is malformed
     */
    public static final int SQLITE_CORRUPT = 11;

    /**
     * (Internal Only) Table or record not found
     */
    public static final int SQLITE_NOTFOUND = 12;

    /**
     * Insertion failed because database is full
     */
    public static final int SQLITE_FULL = 13;

    /**
     * Unable to open the database file
     */
    public static final int SQLITE_CANTOPEN = 14;

    /**
     * Database lock protocol error
     */
    public static final int SQLITE_PROTOCOL = 15;

    /**
     * (Internal Only) Database table is empty
     */
    public static final int SQLITE_EMPTY = 16;

    /**
     * The database schema changed
     */
    public static final int SQLITE_SCHEMA = 17;

    /**
     * Too much data for one row of a table
     */
    public static final int SQLITE_TOOBIG = 18;

    /**
     * Abort due to constraint violation
     */
    public static final int SQLITE_CONSTRAINT = 19;

    /**
     * Data type mismatch
     */
    public static final int SQLITE_MISMATCH = 20;

    /**
     * Library used incorrectly
     */
    public static final int SQLITE_MISUSE = 21;

    /**
     * Uses OS features not supported on host
     */
    public static final int SQLITE_NOLFS = 22;

    /**
     * Authorization denied
     */
    public static final int SQLITE_AUTH = 23;

    /**
     * sqlite_step() has another row ready
     */
    public static final int SQLITE_ROW = 100;

    /**
     * sqlite_step() has finished executing
     */
    public static final int SQLITE_DONE = 101;

    // types returned by sqlite3_column_type()

    public static final int SQLITE_INTEGER = 1;
    public static final int SQLITE_FLOAT = 2;
    public static final int SQLITE_TEXT = 3;
    public static final int SQLITE_BLOB = 4;
    public static final int SQLITE_NULL = 5;
}
